package com.chongxinlaiguo.mapstruct.dto.req.remote;

import lombok.Data;

import java.io.Serializable;

@Data
public class PayRemoteReqDTO extends BaseRemoteReqDTO {
    private static final long serialVersionUID = -3541817885767330939L;

    public PayRemoteReqDTO() {
//        this.extendInfo = new ExtendInfoRemoteReqDTO();
    }

    /**
     * 支付单号
     */
    private String payNo;

    /**
     * 上送渠道的单号
     */
    private String sendChannelNo;

    /**
     * 业务单号
     */
    private String businessNo;

    /**
     * 门店id
     */
    private String storeId;

    /**
     * 付款码（扫码支付）
     */
    private String payCode;

    /**
     * 商户注册的小程序id
     */
    private String subAppId;

    /**
     * 付款方账户id/小程序用户标识
     */
    private String payerAccountId;

    /**
     * 外部订单号
     */
    private String outOrderNo;

    /**
     * 渠道流水号
     */
    private String channelOrderNo;

//    /**
//     * 区域/国家
//     */
//    @Deprecated
//    private RegionEnum regionEnum;
//
//    /**
//     * 币种
//     */
//    private CurrencyEnum currencyEnum;

    /**
     * 应付金额 单位 分
     */
    private Long payAmount;

    /**
     * 支付  令牌 token
     */
    private String tokenId;

    /**
     * 支付单类型
     */
//    private PaymentTypeEnum paymentTypeEnum = PaymentTypeEnum.NORMAL_PAYMENT;

    private ExtendInfo ext;

    @Data
    public static class ExtendInfo implements Serializable {

        /**
         * 支付env
         */
        private String env;

        /**
         * 前端传递的adyen支付方式返回的stateData，包括token等信息
         */
        private String stateData;
    }
}
